home *** CD-ROM | disk | FTP | other *** search
/ Acorn RISC PD-CD 1 / Acorn RISC PD-CD 1.iso / languages / dde / _pc / h / template < prev    next >
Text File  |  1992-02-09  |  4KB  |  126 lines

  1. (*
  2.  * Title:    template.h
  3.  * Purpose:  template file management
  4.  *
  5.  *)
  6.  
  7. (*
  8.  * This file contains functions used for loading/manipulating templates
  9.  * (typically set up using the template editor). The templates are assumed
  10.  * to be held in a file "Templates" in the application's directory.
  11.  * The dialogue box module of the "wimp" library, uses these templates when
  12.  * creating dialogue boxes.
  13.  *
  14.  *)
  15.  
  16. #ifndef __template_h
  17. #define __template_h
  18.  
  19. type template_ptr = ^template;
  20.      template =
  21.        record
  22.          next : template_ptr;
  23.          workspace : pointer;
  24.          workspacesize : integer;
  25.          font : string;
  26.          name : packed array[1..11] of char;
  27.          window : wimp_wind
  28.        end;
  29.  
  30.  
  31. (* ----------------------------- template_copy -----------------------------
  32.  * Description:   Create a copy of a template.
  33.  *
  34.  * Parameters:    template *from -- the original template
  35.  * Returns:       a pointer to a copy of "from".
  36.  * Other Info:    Copying also includes fixing up pointers into workspace for
  37.  *                indirected icons/title.  Also includes allocation of this
  38.  *                space.
  39.  *
  40.  *)
  41. function template_copy(from : template_ptr) : template_ptr; extern;
  42.  
  43.  
  44. (* -------------------------- template_readfile ----------------------------
  45.  * Description:   Reads the template file into a linked list of templates.
  46.  *
  47.  * Parameters:    char *name -- name of template file
  48.  * Returns:       Non-zero if sprites are used in the template file.
  49.  * Other Info:    Note that a call is made to resspr_area(), in order to
  50.  *                fix up a window's sprite pointers, so you must have 
  51.  *                already called resspr_init.
  52.  *
  53.  *)
  54. function template_readfile(name : string) : boolean; extern;
  55.  
  56.  
  57. (* ----------------------------- template_find -----------------------------
  58.  * Description:   Finds a named template in the template list.
  59.  *
  60.  * Parameters:    char *name -- the name of the template (as given in FormEd)
  61.  * Returns:       a pointer to the found template.
  62.  * Other Info:    none.
  63.  *
  64.  *)
  65. function template_find(name : string) : template_ptr; extern;                
  66.  
  67.  
  68. (* ---------------------------- template_loaded ----------------------------
  69.  * Description:   Sees if there is anything in the template list.
  70.  *
  71.  * Parameters:    void
  72.  * Returns:       Non-zero if there is something in the template list.
  73.  * Other Info:    none.
  74.  *
  75.  *)
  76. function template_loaded : boolean; extern;
  77.  
  78.  
  79. (* ---------------------------- template_use_fancyfonts --------------------
  80.  * Description:   Provides a font usage array for loading templates which
  81.  *                use fonts other than 'system font'
  82.  *
  83.  * Parameters:    void.
  84.  * Returns:       void.
  85.  * Other Info:    This function should be called once BEFORE template_init.
  86.  *                It allocates a font usage array, which it uses to 'lose'
  87.  *                any fancy fonts used, when your program exits.
  88.  *                It installs a C exit handler to do this.
  89.  *                This function is useful if your dialogue boxes use fonts
  90.  *                other than system font.
  91.  *
  92.  *)
  93. procedure template_use_fancyfonts; extern;
  94.  
  95.  
  96. (* ---------------------------- template_init ------------------------------
  97.  * Description:   Initialise ready for use of templates.
  98.  *
  99.  * Parameters:                             
  100.  * Returns:       void.
  101.  * Other Info:    Should be called before any ops which use templates
  102.  *                (eg dialogue box creation).
  103.  *                The amount of space used is optimised to be the least
  104.  *                possible.
  105.  *
  106.  *)
  107. procedure template_init; extern;
  108.  
  109.  
  110. (* --------------------------- template_syshandle --------------------------
  111.  * Description:   Get a pointer to the underlying window used to create a
  112.  *                template.
  113.  *
  114.  * Parameters:    char *templatename.
  115.  * Returns:       Pointer to template's underlying window (0 if template
  116.  *                not found).
  117.  * Other Info:    Any changes made to the wimp_wind structure will affect
  118.  *                future windows generated using this template.
  119.  *
  120.  *)
  121. function template_syshandle(name : string) : wimp_wind_ptr; extern;
  122.  
  123. #endif
  124.  
  125. (* end template.h *)
  126.